Data binding – Windows Forms
Windows Forms je možné vytvořit data binding pouze v kódu. Stejně jako u WPF se může zdrojem dat stát objekt (vlastnost) nebo kolekce objektů. Ovládací prvky ve Windows Forms mají pro připojení data bindingu vlastnost DataBindings. Jedná se o kolekci objektů třídy Binding. Nejedná se o stejnou třídu jako u WPF.
Vytvoření data bindingu ve Windows Forms
jmenoTextBox.DataBindings.Add("Text", student, "Jmeno");
prijmeniTextBox.DataBindings.Add("Text", student, "Prijmeni");
DataBindings – kolekce objektů Binding
Add – metoda pro přidání objektu Binding do kolekce
V ukázce je přetížená varianta metody Add(cílová vlastnost, zdrojový objekt, zdrojová vlastnost).
Ukázkové řešení: Windows Forms/Databinding
Windows Forms také dovoluje vytvořit data binding ke kolekci. Namísto třídy ObservableCollection se použije třída BindingList. Ta obsahuje mechanizmus upozornění na změnu stavu kolekce.
Připojení kolekce dat k ovládacímu prvku ListBox ve Windows Forms
BindingList<string> letopocty = new BindingList<string>();
letopocty.Add("1085 - 1. český král Vratislav II.");
letopocty.Add("1212 - Zlatá bula sicilská");
letopocty.Add("1918 - vznik Československa");
listBox1.DataSource = letopocty;
BindingList – kolekce podporující data binding (upozornění na změnu stavu kolekce)
DataSource – připojí kolekci k ovládacímu prvku
Na Obrázku 8 jsou vypsány letopočty z kolekce letopocty.
Obrázek 8 Ukázka z aplikace DatabindingKolekce [zdroj: vlastní]